/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package modeles.beans;

import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import modeles.Produits;
import modeles.Recette;

/**
 *
 * @author Fred
 */
@ManagedBean(name = "detailsRecette")
@ViewScoped
public class FormulaireModifRecette extends FormulaireRecette implements Serializable {

    private Recette recette;
    private List<Produits> ingredients;

    /**
     * Creates a new instance of FormulaireModifRecette
     */
    public FormulaireModifRecette() {
        super();
    }

    public Recette getRecette() {
        if (recette == null) {
            String id = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id");
            recette = super.getServicesRecettes().trouverRecette(id);
        }
        return recette;
    }

    @Override
    public List<Produits> getIngredients() {
        if (ingredients == null) {
            ingredients = getRecette().getProduits();
        }
        return ingredients;
    }

    public void sauvegarderModifications() {
        if (super.checkIngredient()) {
            if (super.getServicesRecettes().modifierRecette(recette, Integer.toString(recette.getId()))) {
                super.ajouterMessage("La recette a bien été modifiée.", FacesMessage.SEVERITY_INFO);
            } else {
                super.ajouterMessage("La recette n'a pas pu être modifiée.", FacesMessage.SEVERITY_ERROR);
            }
        }
    }
}
